﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;

using Checkers.Service.WCFService.databaseProxyDataContract;

namespace Checkers.Service.WCFService
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IGameRoomService" in both code and config file together.
    [ServiceContract]
    public interface IGameRoomService
    {
        [OperationContract]
        clsGameRoom CreateGameRoom(clsPlayer objClsPlayer);

        [OperationContract]
        IList<clsGameRoom> GetGameRoomList();

        [OperationContract]
        clsGameRoom JoinGameRoom(clsPlayer objClsPlayer, clsGameRoom objClsGameRoom);

        [OperationContract]
        IList<clsGameMoves> GetAllMoves(clsGameRoom objClsGameRoom);

        [OperationContract]
        IList<clsGameRoomClient> GetAllViewers(clsGameRoom gameRoom);

        [OperationContract]
        void AddMove(clsGameMoves gameMove);

        
        [OperationContract]
        void UpdateGameRoomOccupiedStatus(clsGameRoom gameRoom);

        [OperationContract]
        clsWinner CheckForWinner(clsGameRoom gameRoom, clsPlayer player);

        
    }

    
}
